" Maintainer: Alex Efros <powerman-asdf@ya.ru>
" Version: 1.4
" Last Modified: Oct 11, 2013
" License: This file is placed in the public domain.
" URL: http://www.vim.org/scripts/script.php?script_id=3885
" Description: Support command mode in Russian keyboard layout (Unicode)

if exists('g:loaded_ruscmd') || &cp || version < 700
	finish
endif
let g:loaded_ruscmd = 1


if !exists('g:no_plugin_abbrev') && !exists('g:no_ruscmd_abbrev')
	cabbrev <expr> ив	getcmdtype()==':' && getcmdline()=="ив"	? "bd"	: "ив"
	cabbrev <expr> ит	getcmdtype()==':' && getcmdline()=="ит"	? "bn"	: "ит"
	cabbrev <expr> й	getcmdtype()==':' && getcmdline()=="й"	? "q"	: "й"
	cabbrev <expr> йф	getcmdtype()==':' && getcmdline()=="йф"	? "qa"	: "йф"
	cabbrev <expr> ц	getcmdtype()==':' && getcmdline()=="ц"	? "w"	: "ц"
	cabbrev <expr> цй	getcmdtype()==':' && getcmdline()=="цй"	? "wq"	: "цй"
endif

if !exists('g:no_plugin_maps') && !exists('g:no_ruscmd_maps')
	map <unique> ё `
	map <unique> ’ `
	map <unique> й q
	map <unique> ц w
	map <unique> у e
	map <unique> к r
	map <unique> е t
	map <unique> н y
	map <unique> г u
	map <unique> ш i
	map <unique> щ o
	map <unique> з p
	map <unique> х [
	map <unique> ъ ]
	map <unique> ї ]
	map <unique> ф a
	map <unique> ы s
	map <unique> і s
	map <unique> в d
	map <unique> а f
	map <unique> п g
	map <unique> р h
	map <unique> о j
	map <unique> л k
	map <unique> д l
	map <unique> ж ;
	map <unique> э '
	map <unique> є '
	map <unique> я z
	map <unique> ч x
	map <unique> с c
	map <unique> м v
	map <unique> и b
	map <unique> т n
	map <unique> ь m
	map <unique> б ,
	map <unique> ю .
	map <unique> Ё ~
	map <unique> Й Q
	map <unique> Ц W
	map <unique> У E
	map <unique> К R
	map <unique> Е T
	map <unique> Н Y
	map <unique> Г U
	map <unique> Ш I
	map <unique> Щ O
	map <unique> З P
	map <unique> Х {
	map <unique> Ъ }
	map <unique> Ї }
	map <unique> Ф A
	map <unique> Ы S
	map <unique> І S
	map <unique> В D
	map <unique> А F
	map <unique> П G
	map <unique> Р H
	map <unique> О J
	map <unique> Л K
	map <unique> Д L
	map <unique> Ж :
	map <unique> Э "
	map <unique> Є "
	map <unique> Я Z
	map <unique> Ч X
	map <unique> С C
	map <unique> М V
	map <unique> И B
	map <unique> Т N
	map <unique> Ь M
	map <unique> Б <
	map <unique> Ю >

	map <unique> ЯЯ ZZ
	map <unique> ЯЙ ZQ
	map <unique> йЖ q:
	map <unique> й. q/
	map <unique> й, q?

	map <unique> ёё ``
	map <unique> ёБ `<
	map <unique> ёЮ `>
	map <unique> ёх `[
	map <unique> ёъ `]
	map <unique> ёХ `{
	map <unique> ёЪ `}
	map <unique> ээ ''
	map <unique> эБ '<
	map <unique> эЮ '>
	map <unique> эх '[
	map <unique> эъ ']
	map <unique> эХ '{
	map <unique> эЪ '}

	map <unique> хэ ['
	map <unique> хё [`
	map <unique> хВ [D
	map <unique> хШ [I
	map <unique> хЗ [P
	map <unique> хх [[
	map <unique> хъ []
	map <unique> хс [c
	map <unique> хв [d
	map <unique> ха [f
	map <unique> хш [i
	map <unique> хь [m
	map <unique> хз [p
	map <unique> хы [s
	map <unique> хя [z
	map <unique> хХ [{
	map <unique> ъэ ]'
	map <unique> ъё ]`
	map <unique> ъВ ]D
	map <unique> ъШ ]I
	map <unique> ъЗ ]P
	map <unique> ъх ][
	map <unique> ъъ ]]
	map <unique> ъс ]c
	map <unique> ъв ]d
	map <unique> ъа ]f
	map <unique> ъш ]i
	map <unique> ъь ]m
	map <unique> ъз ]p
	map <unique> ъы ]s
	map <unique> ъя ]z
	map <unique> ъХ ]{

	map <unique> ьФ mA
	map <unique> ёФ `A
	map <unique> эФ 'A
	map <unique> пёФ g`A
	map <unique> пэФ g'A
	map <unique> ьИ mB
	map <unique> ёИ `B
	map <unique> эИ 'B
	map <unique> пёИ g`B
	map <unique> пэИ g'B
	map <unique> ьС mC
	map <unique> ёС `C
	map <unique> эС 'C
	map <unique> пёС g`C
	map <unique> пэС g'C
	map <unique> ьВ mD
	map <unique> ёВ `D
	map <unique> эВ 'D
	map <unique> пёВ g`D
	map <unique> пэВ g'D
	map <unique> ьУ mE
	map <unique> ёУ `E
	map <unique> эУ 'E
	map <unique> пёУ g`E
	map <unique> пэУ g'E
	map <unique> ьА mF
	map <unique> ёА `F
	map <unique> эА 'F
	map <unique> пёА g`F
	map <unique> пэА g'F
	map <unique> ьП mG
	map <unique> ёП `G
	map <unique> эП 'G
	map <unique> пёП g`G
	map <unique> пэП g'G
	map <unique> ьР mH
	map <unique> ёР `H
	map <unique> эР 'H
	map <unique> пёР g`H
	map <unique> пэР g'H
	map <unique> ьШ mI
	map <unique> ёШ `I
	map <unique> эШ 'I
	map <unique> пёШ g`I
	map <unique> пэШ g'I
	map <unique> ьО mJ
	map <unique> ёО `J
	map <unique> эО 'J
	map <unique> пёО g`J
	map <unique> пэО g'J
	map <unique> ьЛ mK
	map <unique> ёЛ `K
	map <unique> эЛ 'K
	map <unique> пёЛ g`K
	map <unique> пэЛ g'K
	map <unique> ьД mL
	map <unique> ёД `L
	map <unique> эД 'L
	map <unique> пёД g`L
	map <unique> пэД g'L
	map <unique> ьЬ mM
	map <unique> ёЬ `M
	map <unique> эЬ 'M
	map <unique> пёЬ g`M
	map <unique> пэЬ g'M
	map <unique> ьТ mN
	map <unique> ёТ `N
	map <unique> эТ 'N
	map <unique> пёТ g`N
	map <unique> пэТ g'N
	map <unique> ьЩ mO
	map <unique> ёЩ `O
	map <unique> эЩ 'O
	map <unique> пёЩ g`O
	map <unique> пэЩ g'O
	map <unique> ьЗ mP
	map <unique> ёЗ `P
	map <unique> эЗ 'P
	map <unique> пёЗ g`P
	map <unique> пэЗ g'P
	map <unique> ьЙ mQ
	map <unique> ёЙ `Q
	map <unique> эЙ 'Q
	map <unique> пёЙ g`Q
	map <unique> пэЙ g'Q
	map <unique> ьК mR
	map <unique> ёК `R
	map <unique> эК 'R
	map <unique> пёК g`R
	map <unique> пэК g'R
	map <unique> ьЫ mS
	map <unique> ёЫ `S
	map <unique> эЫ 'S
	map <unique> пёЫ g`S
	map <unique> пэЫ g'S
	map <unique> ьЕ mT
	map <unique> ёЕ `T
	map <unique> эЕ 'T
	map <unique> пёЕ g`T
	map <unique> пэЕ g'T
	map <unique> ьГ mU
	map <unique> ёГ `U
	map <unique> эГ 'U
	map <unique> пёГ g`U
	map <unique> пэГ g'U
	map <unique> ьМ mV
	map <unique> ёМ `V
	map <unique> эМ 'V
	map <unique> пёМ g`V
	map <unique> пэМ g'V
	map <unique> ьЦ mW
	map <unique> ёЦ `W
	map <unique> эЦ 'W
	map <unique> пёЦ g`W
	map <unique> пэЦ g'W
	map <unique> ьЧ mX
	map <unique> ёЧ `X
	map <unique> эЧ 'X
	map <unique> пёЧ g`X
	map <unique> пэЧ g'X
	map <unique> ьН mY
	map <unique> ёН `Y
	map <unique> эН 'Y
	map <unique> пёН g`Y
	map <unique> пэН g'Y
	map <unique> ьЯ mZ
	map <unique> ёЯ `Z
	map <unique> эЯ 'Z
	map <unique> пёЯ g`Z
	map <unique> пэЯ g'Z
	map <unique> ьф ma
	map <unique> ёф `a
	map <unique> эф 'a
	map <unique> пёф g`a
	map <unique> пэф g'a
	map <unique> ьи mb
	map <unique> ёи `b
	map <unique> эи 'b
	map <unique> пёи g`b
	map <unique> пэи g'b
	map <unique> ьс mc
	map <unique> ёс `c
	map <unique> эс 'c
	map <unique> пёс g`c
	map <unique> пэс g'c
	map <unique> ьв md
	map <unique> ёв `d
	map <unique> эв 'd
	map <unique> пёв g`d
	map <unique> пэв g'd
	map <unique> ьу me
	map <unique> ёу `e
	map <unique> эу 'e
	map <unique> пёу g`e
	map <unique> пэу g'e
	map <unique> ьа mf
	map <unique> ёа `f
	map <unique> эа 'f
	map <unique> пёа g`f
	map <unique> пэа g'f
	map <unique> ьп mg
	map <unique> ёп `g
	map <unique> эп 'g
	map <unique> пёп g`g
	map <unique> пэп g'g
	map <unique> ьр mh
	map <unique> ёр `h
	map <unique> эр 'h
	map <unique> пёр g`h
	map <unique> пэр g'h
	map <unique> ьш mi
	map <unique> ёш `i
	map <unique> эш 'i
	map <unique> пёш g`i
	map <unique> пэш g'i
	map <unique> ьо mj
	map <unique> ёо `j
	map <unique> эо 'j
	map <unique> пёо g`j
	map <unique> пэо g'j
	map <unique> ьл mk
	map <unique> ёл `k
	map <unique> эл 'k
	map <unique> пёл g`k
	map <unique> пэл g'k
	map <unique> ьд ml
	map <unique> ёд `l
	map <unique> эд 'l
	map <unique> пёд g`l
	map <unique> пэд g'l
	map <unique> ьь mm
	map <unique> ёь `m
	map <unique> эь 'm
	map <unique> пёь g`m
	map <unique> пэь g'm
	map <unique> ьт mn
	map <unique> ёт `n
	map <unique> эт 'n
	map <unique> пёт g`n
	map <unique> пэт g'n
	map <unique> ьщ mo
	map <unique> ёщ `o
	map <unique> эщ 'o
	map <unique> пёщ g`o
	map <unique> пэщ g'o
	map <unique> ьз mp
	map <unique> ёз `p
	map <unique> эз 'p
	map <unique> пёз g`p
	map <unique> пэз g'p
	map <unique> ьй mq
	map <unique> ёй `q
	map <unique> эй 'q
	map <unique> пёй g`q
	map <unique> пэй g'q
	map <unique> ьк mr
	map <unique> ёк `r
	map <unique> эк 'r
	map <unique> пёк g`r
	map <unique> пэк g'r
	map <unique> ьы ms
	map <unique> ёы `s
	map <unique> эы 's
	map <unique> пёы g`s
	map <unique> пэы g's
	map <unique> ье mt
	map <unique> ёе `t
	map <unique> эе 't
	map <unique> пёе g`t
	map <unique> пэе g't
	map <unique> ьг mu
	map <unique> ёг `u
	map <unique> эг 'u
	map <unique> пёг g`u
	map <unique> пэг g'u
	map <unique> ьм mv
	map <unique> ём `v
	map <unique> эм 'v
	map <unique> пём g`v
	map <unique> пэм g'v
	map <unique> ьц mw
	map <unique> ёц `w
	map <unique> эц 'w
	map <unique> пёц g`w
	map <unique> пэц g'w
	map <unique> ьч mx
	map <unique> ёч `x
	map <unique> эч 'x
	map <unique> пёч g`x
	map <unique> пэч g'x
	map <unique> ьн my
	map <unique> ён `y
	map <unique> эн 'y
	map <unique> пён g`y
	map <unique> пэн g'y
	map <unique> ья mz
	map <unique> ёя `z
	map <unique> эя 'z
	map <unique> пёя g`z
	map <unique> пэя g'z

	map <unique> ЭЭ ""
	map <unique> ЭЖ ":
	map <unique> Эю ".
	map <unique> ЭФ "A
	map <unique> ЭИ "B
	map <unique> ЭС "C
	map <unique> ЭВ "D
	map <unique> ЭУ "E
	map <unique> ЭА "F
	map <unique> ЭП "G
	map <unique> ЭР "H
	map <unique> ЭШ "I
	map <unique> ЭО "J
	map <unique> ЭЛ "K
	map <unique> ЭД "L
	map <unique> ЭЬ "M
	map <unique> ЭТ "N
	map <unique> ЭЩ "O
	map <unique> ЭЗ "P
	map <unique> ЭЙ "Q
	map <unique> ЭК "R
	map <unique> ЭЫ "S
	map <unique> ЭЕ "T
	map <unique> ЭГ "U
	map <unique> ЭМ "V
	map <unique> ЭЦ "W
	map <unique> ЭЧ "X
	map <unique> ЭН "Y
	map <unique> ЭЯ "Z
	map <unique> Эф "a
	map <unique> Эи "b
	map <unique> Эс "c
	map <unique> Эв "d
	map <unique> Эу "e
	map <unique> Эа "f
	map <unique> Эп "g
	map <unique> Эр "h
	map <unique> Эш "i
	map <unique> Эо "j
	map <unique> Эл "k
	map <unique> Эд "l
	map <unique> Эь "m
	map <unique> Эт "n
	map <unique> Эщ "o
	map <unique> Эз "p
	map <unique> Эй "q
	map <unique> Эк "r
	map <unique> Эы "s
	map <unique> Эе "t
	map <unique> Эг "u
	map <unique> Эм "v
	map <unique> Эц "w
	map <unique> Эч "x
	map <unique> Эн "y
	map <unique> Эя "z

	map <unique> пБ g<
	map <unique> пВ gD
	map <unique> пУ gE
	map <unique> пР gH
	map <unique> пШ gI
	map <unique> пО gJ
	map <unique> пТ gN
	map <unique> пЗ gP
	map <unique> пЙ gQ
	map <unique> пК gR
	map <unique> пЕ gT
	map <unique> пГ gU
	map <unique> пМ gV
	map <unique> пъ g]
	map <unique> пф ga
	map <unique> пв gd
	map <unique> пу ge
	map <unique> па gf
	map <unique> пА gF
	map <unique> пп gg
	map <unique> пр gh
	map <unique> пш gi
	map <unique> по gj
	map <unique> пл gk
	map <unique> пт gn
	map <unique> пь gm
	map <unique> пщ go
	map <unique> пз gp
	map <unique> пй gq
	map <unique> пк gr
	map <unique> пы gs
	map <unique> пе gt
	map <unique> пг gu
	map <unique> пм gv
	map <unique> пц gw
	map <unique> пч gx
	map <unique> пЁ g~

	map <unique> яю z.
	map <unique> яФ zA
	map <unique> яС zC
	map <unique> яВ zD
	map <unique> яУ zE
	map <unique> яА zF
	map <unique> яП zG
	map <unique> яР zH
	map <unique> яД zL
	map <unique> яЬ zM
	map <unique> яТ zN
	map <unique> яЩ zO
	map <unique> яК zR
	map <unique> яЦ zW
	map <unique> яЧ zX
	map <unique> яф za
	map <unique> яи zb
	map <unique> яс zc
	map <unique> яв zd
	map <unique> яу ze
	map <unique> яа zf
	map <unique> яп zg
	map <unique> яр zh
	map <unique> яш zi
	map <unique> яо zj
	map <unique> ял zk
	map <unique> яд zl
	map <unique> яь zm
	map <unique> ят zn
	map <unique> ящ zo
	map <unique> як zr
	map <unique> яы zs
	map <unique> яе zt
	map <unique> ям zv
	map <unique> яц zw
	map <unique> яч zx
	map <unique> яя zz

	map <unique> фЭ a"
	map <unique> шЭ i"
	map <unique> фэ a'
	map <unique> шэ i'
	map <unique> фБ a<
	map <unique> шБ i<
	map <unique> фЮ a>
	map <unique> шЮ i>
	map <unique> фИ aB
	map <unique> шИ iB
	map <unique> фЦ aW
	map <unique> шЦ iW
	map <unique> фх a[
	map <unique> шх i[
	map <unique> фъ a]
	map <unique> шъ i]
	map <unique> фё a`
	map <unique> шё i`
	map <unique> фи ab
	map <unique> ши ib
	map <unique> фз ap
	map <unique> шз ip
	map <unique> фы as
	map <unique> шы is
	map <unique> фе at
	map <unique> ше it
	map <unique> фц aw
	map <unique> шц iw
	map <unique> фХ a{
	map <unique> шХ i{
	map <unique> фЪ a}
	map <unique> шЪ i}

	map <unique> <C-W>Б <C-W><
	map <unique> <C-W>Ю <C-W>>
	map <unique> <C-W>Р <C-W>H
	map <unique> <C-W>О <C-W>J
	map <unique> <C-W>Л <C-W>K
	map <unique> <C-W>Д <C-W>L
	map <unique> <C-W>З <C-W>P
	map <unique> <C-W>К <C-W>R
	map <unique> <C-W>Ы <C-W>S
	map <unique> <C-W>Е <C-W>T
	map <unique> <C-W>Ц <C-W>W
	map <unique> <C-W>ъ <C-W>]
	map <unique> <C-W>и <C-W>b
	map <unique> <C-W>с <C-W>c
	map <unique> <C-W>в <C-W>d
	map <unique> <C-W>а <C-W>f
	map <unique> <C-W>А <C-W>F
	map <unique> <C-W>п <C-W>g
	map <unique> <C-W>пъ <C-W>g]
	map <unique> <C-W>пЪ <C-W>g}
	map <unique> <C-W>па <C-W>gf
	map <unique> <C-W>пА <C-W>gF
	map <unique> <C-W>р <C-W>h
	map <unique> <C-W>ш <C-W>i
	map <unique> <C-W>о <C-W>j
	map <unique> <C-W>л <C-W>k
	map <unique> <C-W>д <C-W>l
	map <unique> <C-W>т <C-W>n
	map <unique> <C-W>щ <C-W>o
	map <unique> <C-W>з <C-W>p
	map <unique> <C-W>й <C-W>q
	map <unique> <C-W>к <C-W>r
	map <unique> <C-W>ы <C-W>s
	map <unique> <C-W>е <C-W>t
	map <unique> <C-W>м <C-W>v
	map <unique> <C-W>ц <C-W>w
	map <unique> <C-W>ч <C-W>x
	map <unique> <C-W>я <C-W>z
	map <unique> <C-W>Ъ <C-W>}
endif
